Network-based background expert

ABSTRACT

A system and methodology that provides a network-based, e.g., cloud-based, background expert for predicting and/or accomplishing a user&#39;s goals is disclosed herein. Moreover, the system monitors, in the background, user generated data and/or publicly available data to determine and/or infer a user&#39;s goal, with or without an active indication/request from the user. Typically, the user-generated data can include user conversations, such as, but not limited to, speech data in a voice call, text messages, chat dialogues, etc. Further, the system identifies an action or task that facilitates accomplishment of the user goal in real-time. Moreover, the system can automatically perform the action/task and/or request user authorization prior to performing the action/task.

TECHNICAL FIELD

The subject disclosure relates to wireless communications and, moreparticularly, to a network-based, e.g., cloud-based, background expert.

BACKGROUND

Communications systems, networks, and devices have seen an explosivegrowth in past few years and, in future, are expected to see continuinggrowth with respect to applications, services, and/or functionalityprovided to a user. Conventional communication devices provide userswith desired information, for example, search results, based on anexplicit request (e.g., search parameters) submitted by the user.Moreover, conventional communication devices enable a user to activelyseek out the desired information, process the information, manuallyidentify a best course of action, based on their understanding and thevariables that they have considered, make a decision, and finally, actbased on that decision. Should a problem arise, all or part of thisprocess has to be repeated by the user.

In particular, some conventional devices utilize a personal assistantsoftware, such as, a voice-activated application that acts like apersonal assistant to help a user perform a task. To utilize thisapplication, the user has to actively open or turn on the applicationand explicitly submit a query. For example, the user can type or speakto request information, and, in response, the application can carry outa command and/or find solutions/answers to a question. Moreover, theapplication can use natural language processing to answer questions,make recommendations, and perform actions by delegating requests to anexpanding set of web services.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example system that includes a background expert(BEX) for inferring a user's goals and providing results and/orrecommendations based on the inferred data.

FIG. 2 illustrates an example system that can be utilized for improvinguser productivity based on an analysis of user communication.

FIG. 3 illustrates an example system that can detect and/or accomplishuser-desired actions based in part on user communication data.

FIG. 4 illustrates an example system that facilitates delivery ofresults or solutions to improve efficiency of user-desired tasks.

FIG. 5 illustrates an example system that can detect and/or accomplishuser-desired actions based in part on user input data.

FIG. 6 illustrates an example system that facilitates automating one ormore features in accordance with the subject innovation.

FIG. 7 illustrates an example methodology that performs actions, whichfacilitate accomplishment of a user goal.

FIG. 8 illustrates an example methodology that provides a backgroundexpert for automatically and dynamically inferring and/or accomplishinguser goals.

FIG. 9 illustrates an example methodology that facilitates providingrecommendations to more efficiently accomplish one or more user tasks.

FIG. 10 illustrates a Global System for Mobile Communications(GSM)/General Packet Radio Service (GPRS)/Internet protocol (IP)multimedia network architecture that can employ the disclosedarchitecture.

FIG. 11 illustrates a block diagram of a computer operable to executethe disclosed communication architecture.

DETAILED DESCRIPTION

One or more embodiments are now described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the various embodiments. It may be evident,however, that the various embodiments can be practiced without thesespecific details, e.g., without applying to any particular networkedenvironment or standard. In other instances, well-known structures anddevices are shown in block diagram form in order to facilitatedescribing the embodiments in additional detail.

As used in this application, the terms “component,” “module,” “system,”“interface,” “service,” or the like are generally intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution or an entity related to anoperational machine with one or more specific functionalities. Forexample, a component may be, but is not limited to being, a processrunning on a processor, a processor, an object, an executable, a threadof execution, a program, and/or a computer. By way of illustration, bothan application running on a controller and the controller can be acomponent. One or more components may reside within a process and/orthread of execution and a component may be localized on one computerand/or distributed between two or more computers. As another example, aninterface can include I/O components as well as associated processor,application, and/or API components.

Further, the various embodiments can be implemented as a method,apparatus, or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer to implement one or moreaspects of the disclosed subject matter. An article of manufacture canencompass a computer program accessible from any computer-readabledevice or computer-readable storage/communications media. For example,computer readable storage media can include but are not limited tomagnetic storage devices (e.g., hard disk, floppy disk, magnetic strips. . . ), optical disks (e.g., compact disk (CD), digital versatile disk(DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick,key drive . . . ). Of course, those skilled in the art will recognizemany modifications can be made to this configuration without departingfrom the scope or spirit of the various embodiments.

In addition, the words “example” or “exemplary” is used herein to meanserving as an example, instance, or illustration. Any aspect or designdescribed herein as “exemplary” is not necessarily to be construed aspreferred or advantageous over other aspects or designs. Rather, use ofthe word exemplary is intended to present concepts in a concretefashion. As used in this application, the term “or” is intended to meanan inclusive “or” rather than an exclusive “or”. That is, unlessspecified otherwise, or clear from context, “X employs A or B” isintended to mean any of the natural inclusive permutations. That is, ifX employs A; X employs B; or X employs both A and B, then “X employs Aor B” is satisfied under any of the foregoing instances. In addition,the articles “a” and “an” as used in this application and the appendedclaims should generally be construed to mean “one or more” unlessspecified otherwise or clear from context to be directed to a singularform.

Moreover, terms like “user equipment,” “mobile station,” “mobile,”subscriber station,” and similar terminology, refer to a wired orwireless device utilized by a subscriber or user of a wired or wirelesscommunication service to receive or convey data, control, voice, video,sound, gaming, or substantially any data-stream or signaling-stream. Theforegoing terms are utilized interchangeably in the subjectspecification and related drawings. Likewise, the terms “access point,”“base station,” and the like, are utilized interchangeably in thesubject application, and refer to a wireless network component orappliance that serves and receives data, control, voice, video, sound,gaming, or substantially any data-stream or signaling-stream from a setof subscriber stations. Data and signaling streams can be packetized orframe-based flows.

Furthermore, the terms “user,” “subscriber,” “customer,” and the likeare employed interchangeably throughout the subject specification,unless context warrants particular distinction(s) among the terms. Itshould be appreciated that such terms can refer to human entities orautomated components supported through artificial intelligence (e.g., acapacity to make inference based on complex mathematical formalisms),which can provide simulated vision, sound recognition and so forth. Inaddition, the terms “data flow,” “data session,” and the like are alsoemployed interchangeably throughout the subject specification, unlesscontext warrants particular distinction(s) among the terms.

As used herein, the term to “infer” or “inference” refer generally tothe process of reasoning about or inferring states of the system,environment, and/or user from a set of observations as captured viaevents and/or data. Inference can be employed to identify a specificcontext or action, or can generate a probability distribution overstates, for example. The inference can be probabilistic—that is, thecomputation of a probability distribution over states of interest basedon a consideration of data and events. Inference can also refer totechniques employed for composing higher-level events from a set ofevents and/or data. Such inference results in the construction of newevents or actions from a set of observed events and/or stored eventdata, whether or not the events are correlated in close temporalproximity, and whether the events and data come from one or severalevent and data sources.

The systems and methods disclosed herein enable users to increase theirproductivity and effectiveness, while minimizing wasted time and effortduring decision-making and/or achievement of one or more goals. In oneaspect, the systems include a network based (e.g., cloud-based)background expert that can be utilized for analyzing a user's voice anddata communications, historical data, public data, user preferences, andthe like, to provide solutions or recommendations that maximize theuser's ability to efficiently meet their goals.

Aspects or features of the subject innovation can be exploited insubstantially any wired or wireless communication technology; e.g.,Universal Mobile Telecommunications System (UMTS), Wi-Fi, WorldwideInteroperability for Microwave Access (WiMAX), General Packet RadioService (GPRS), Enhanced GPRS, Third Generation Partnership Project(3GPP) Long Term Evolution (LTE), Third Generation Partnership Project 2(3GPP2) Ultra Mobile Broadband (UMB), High Speed Packet Access (HSPA),Zigbee, or another IEEE 802.XX technology. Additionally, substantiallyall aspects of the subject innovation can be exploited in legacytelecommunication technologies.

Referring initially to FIG. 1, there illustrated is an example system100 that includes a background expert (BEX) system 102 for inferringuser's goals and/or decisions, and providing results and/orrecommendations based on the inferred data. According to an aspect, atleast a portion of the BEX system 102 can reside within a network, forexample, a cloud. As an example, a cloud can include resources (e.g.,processing resource(s), data storage resource(s), etc.) that can resideon-premise or off-premise at a service provider location. Moreover, thecloud can be, but is not limited to, a public cloud, a private cloud, aninter-cloud, or a hybrid cloud. Typically, users can opt-in to utilizethe BEX system 102, by adjusting appropriate privacy settings.

In one embodiment, the BEX system 102 can include a monitoring component104 that can track and/or monitor public and/or user data (110, 112). Asan example, public data 110 can include, but is not limited to, trafficdata, weather information, news reports, etc. and/or most any publiclyavailable data, for example, accessed from web servers or public datastores. Further, user data 112 can include, but is not limited to,real-time user communications (e.g., voice calls, short message service(SMS) messages, chat records, Instant Messaging (IM) data, multimediamessage service (MMS) messages, social network data, etc.), userlocation data, user schedule, user preferences, etc. Typically, userdata 112 can be received from one or more user equipments (UEs)associated with a user (e.g., devices linked to a user subscription oraccount) via most any wired or wireless network. In one aspect, themonitoring component 104 can observe user data 112, without receiving anexplicit input by the user, for example, monitor user data in thebackground. However, it can be appreciated that explicit commands orinstructions from the user can also be received.

The BEX system 102 can further comprise an analysis component 106 thatcan identify, predict, and/or infer a user's goal(s) or desired actions,based on an analysis of the public data 110 and/or the user data 112. Asan example, the analysis component 106 can analyze data such as, but notlimited to, voice calls, data sessions, profile information, patterns ofuse, historical data, user or service provider preferences, public oruser-accessible network server (e.g., web servers, application servers,email servers, etc.) and/or data stores, etc., and provide real-timesuggestions, recommendations information, schedule management, systemmanagement, modifications, results, etc., based on the analysis. In oneaspect, the analysis component 106 can receive real-time usercommunication data, for example, a conversation during a user's voicecall or data session (e.g., tracked by the monitoring component 104),utilize natural language processing to understand theconversation/communication, and determine an area where expert knowledgecould enhance the understanding of those involved or improve theprobable outcome of plans being made. In another aspect, the analysiscomponent 106 can identify a goal of a user or an action desired to beimplemented by a user, based on the analysis. In yet another aspect, theanalysis component 106 can determine conflicts and provide optimizedsolutions that can be customized for a user. Additionally oralternatively, the analysis component 106 can analyze data sessions forcues. Further, the analysis component 106 can utilize dynamicallychanging data, such as, but not limited to, location data (e.g.,geographical location) associated with the user, time or dateinformation, etc., for the analysis. Furthermore, the analysis component106 can also access services and/or applications subscribed by the userfor the analysis.

A results component 108 can be employed to provide or implement a resultof the analysis (e.g., by the analysis component 106). Moreover, theresult(s) can be provided/implemented in real-time or near real-time.Typically, the results component 108 can interact with the user invarious ways. For example, the results component 108 can deliver avisual or an audio indication (e.g., indicative of a solution,recommendation, suggestion, and/or authorization for implementing anaction, etc.) at a device being utilized by the user. In one aspect, theresults component 108 can add itself as an additional participant in anongoing voice call, chat window, or data session, and can interject whenappropriate. As an example, indication can be received (e.g., heard,read, etc.) by all or some of the other participants. The resultscomponent 108 can also provide indications after completion of the voicecall, chat, or data session. Typically, the manner in which the resultscomponent 108 provides the results of the analysis to the user orimplements the results can be based on predefined user preferences.Typically, the user can specify his/her preferences during aninitialization procedure (or at any other time). Alternatively, the userpreferences can be learnt by observing user behavior over a period oftime. In one example, the results component 108 can automaticallyperform an action or implement a change (identified based on theanalysis). In another example, the results component 108 can provide anindication to the user and wait for authorization before performing theaction or implementing the change.

Referring now to FIG. 2, there illustrated is an example system 200 thatfacilitates improving user productivity based on an analysis of usercommunication, in accordance with an aspect of the subject disclosure.It can be appreciated that the BEX system 102, the monitoring component104, the analysis component 106, the results component 108, the publicdata 110, and the user data 112, can include functionality, as morefully described herein, for example, with regard to system 100. Asdiscussed herein, the BEX system 102 can reside partially or completelywithin a network/cloud that can be coupled to a core communicationnetwork. However, it is to be noted that the subject disclosure is notso limited and that although the BEX system 102 is depicted to resideoutside the UEs (202, 204) (e.g., within a cloud), it can be appreciatedthat at least portions of the BEX system 102 can reside within one ormore UEs (202, 204).

According to an aspect, monitoring component 104 can observe acommunication between two or more users. For example, a first user viaUE #1 202 can communicate with a second user via UE#2 204, over acommunication network(s) 206 (e.g., wired or wireless network).Moreover, the communication can be a voice call, text messaging, a videocall, an email message, and/or the like. The monitoring component 104can observe all outgoing and/or incoming communication, associated witha first user, based on verification of privacy settings of the first(and/or second) user. For example, the first user can opt-in and/orauthorize the monitoring by the monitoring component 104. Additionally,in one aspect, the monitoring component 104 can monitor a communicationbetween multiple parties, only if all the parties have authorized themonitoring.

Typically, a UE (202, 204) can include most any electronic communicationdevice such as, but not limited to, most any consumer electronic device,for example, a tablet computer, a digital media player, a digital photoframe, a digital camera, a cellular phone, a personal computer, apersonal digital assistant (PDA), a smart phone, a laptop, a gamingsystem, etc. Further, UE (202, 204) can also include LTE based devices,such as, but not limited to, most any home or commercial appliance thatincludes an LTE radio. It can be appreciated that the UE (202, 204) canbe mobile, have limited mobility and/or be stationary.

According to an aspect, the monitoring component 104 can track and/ordetect any data, conditions, and/or actions that facilitatedetermination of a goal that a user (e.g., first user) is attempting toand/or desires to accomplish. Typically, the monitoring component 104can observe data, conditions, and/or actions associated with the user,in the background, without requesting or receiving explicit input fromthe user. Moreover, the user does not need to activate, start, turn on,open, etc. a specific application to initiate the monitoring.Additionally or alternatively, the monitoring component 104 can alsoreceive an explicit input from the user (e.g., the first user via UE#1202) indicative of a request for information associated with the user'sgoal and/or a request to implement an action. In one embodiment, themonitoring component 104 can observe and/or detect changes ormodifications made by a user on one or more UEs. For example, themonitoring component 104 can identify that the first user has scheduledan appointment for a specific time in a calendar via UE#1 202. Inanother example, the monitoring component 104 can observe and/or trackchanges in user location, e.g., based on location of UE#1 202.

Further, the monitoring component 104 can detect conversations (e.g.,voice, text, chat, etc.) associated with the user. For example, themonitoring component 104 can monitor (e.g., continuously) communicationbetween the first user and a second user. Although only two UEs (202,204) are depicted in the communication, it can be appreciated that thecommunication can be between multiple UEs. In one aspect, for voicecommunications, for example, voice calls, a speech recognition component208 can be utilized to convert the voice into corresponding text.Typically, the communication can be streamed live to the speechrecognition component 208, which in turn can dynamically convert thespeech within the communication to text. According to an embodiment, thespeech recognition component 208 can identify each word within thecommunication and generate a word-for-word textual data. As an example,the speech recognition component 208 can utilize automatic voice/speechrecognition techniques, based on an analysis of the communication togenerate a textual string/segment/script (e.g., group of words, phrasessentences, etc.). Typically, a statistical model, such as, but notlimited to the Hidden Markov Model (HMM), can be utilized by the speechrecognition component 208 for speech recognition and conversion of thespeech to text. In addition, the speech recognition component 208 canalso utilize most any voice recognition techniques to distinguishbetween voices of different users within a conversation.

The analysis component 106 can utilize the monitored information, publicdata 110 and/or user data 112 to identify a goal(s) of user. Typically,the analysis component 106 can also determine one or more solutionsand/or paths to accomplish the goal(s). As an example, the analysiscomponent 106 can utilize natural language processing techniques tounderstand the communication to facilitate identification of thegoal(s). In one aspect, the analysis component 106 can detect keywords,such as, but not limited to, phrases, e.g., “let's meet,” “havedinner,”, “movies,” etc.; timing or date indicators, e.g., “Saturday,”“7:30 PM,” “in an hour,” etc.; location indicators “the mall,” “XYZrestaurant,” “my gym,” etc. Based on an analysis of these keywords alongwith public data 110 and/or user data 112, the analysis component 106can identify and/or predict an action desired by the user and determineone or more solutions or additional information associated withaccomplishing the action/goal(s).

In one aspect, based on user preferences or default settings, theresults component 108 can (i) automatically accomplish theaction/goal(s) in an optimal manner; (ii) provide an indication to auser (e.g., via UE#1 202) requesting authorization to accomplish thegoal in a selected manner; and/or (iii) provide a recommendation to theuser (e.g., via UE#1 202), indicative of an optimal manner in which toaccomplish the goal, on determining that the user is attempting toaccomplish the action/goal(s) in a non-optimal manner. Typically, theresults component 108 can perform action/goal(s) and/or provideindication(s) in real-time (or almost in real-time). For example, themonitoring component 104 can observe an on-going conversation betweentwo or more users, and the analysis component 106 can infer and/oridentify a goal that is to be accomplished. Moreover, the analysiscomponent 106 can generate a solution or addition information associatedwith the goal, which can be provided to the one or more users as part ofthe conversation (e.g., after a user has completed a sentence) by theresults component 108.

Consider an example scenario, wherein two users are on a voice call viaUEs (202,204) and are making dinner plans for 7 PM that evening, duringtheir conversation. They agree that they should meet at a restaurantroughly halfway (e.g., equal drive time) between them. During theirplanning, the monitoring component 104 can observe their conversation,the speech recognition component can convert the voice data into text,and the analysis component 106 can utilize natural language processingschemes to understand the plans and identify the goal. Moreover, theanalysis component 106 can determine additional information, such as,available reservation times at the restaurant being considered,real-time or historical traffic patterns between the restaurant and theusers, local weather forecasts, etc. Further, the results component 108can wait for an appropriate time and join the conversation, for example,indicating (e.g., via audio, video, text, and/or display signals) thatthere are no available reservations at the restaurant between 6:30 and8:00. Furthermore, the analysis component 106 can determine, based onpublic data 110, that there is a traffic accident between one of theusers and the restaurant, which will increase their travel time, andthus identify a set of similar or user-preferred restaurants withavailable reservation times at 7 PM, which are located on routes thatavoid the traffic congestion and are still approximately halfway betweenboth users. The results component 108 can notify the users, and if oneor more of the users approve, the BEX system 102 can make thereservation. Alternatively, the BEX system 102 can automatically makethe reservation and then notify the users of the reservation detailsand/or directions to the restaurant from their respective locations.

Referring now to FIG. 3, there illustrated is an example system 300 thatcan detect and/or accomplish user desired actions based in part on usercommunication data, according to an aspect of the subject disclosure.Typically, the BEX system 102 enhances the ability of users to make themost optimal decisions by dynamically providing the user withinformation relevant to the decision making. In one aspect, the BEXsystem 102 can behave as a virtual entity that can be added into auser's conversations and can provide information or perform actionsbased on an analysis of the user's conversation. According to anembodiment, the BEX system 102 can eliminate the need for a user todownload separate applications (apps) on a UE and can create a newmarket where the apps, subscribed by a user, are integrated into the BEXsystem 102, such that, developers can be paid based on how many timestheir app is used and/or their services are accessed. Typically, themore sources of data that are made available, the more powerful andintelligent the BEX system 102 can become. It can be appreciated thatthe BEX system 102, the monitoring component 104, the analysis component106, the results component 108, the public data 110, the user data 112,the UE#1 202, the UE#2 204, and the communication network(s) 206, caninclude functionality, as more fully described herein, for example, withregard to systems 100 and 200.

The monitoring component 104 can dynamically monitor and/or track usercommunications, in the background (e.g., without active initiation by auser, without an explicit action/request by user, and/or withoutinterruption or with minimal interruption to user activities).Typically, the speech recognition component 208 can performspeech-to-text conversion and the analysis component 106 can utilize anatural language processing technique to understand content and/orcontext of the textual data. In particular, a goal identificationcomponent 308 can be utilized to determine and/or predict one or moregoals of a user. Moreover, goals of the user can include actions thatthe user desires to perform and/or additional information that canfacilitate decision-making. In addition, a conflict detection component310 can identify whether the goals of the user conflict with any otheruser actions or parameters. In an aspect, a data aggregation component302 can collect data (public data 110 and/or user data 112) relevant tothe user goals. Further, the data aggregation component 302 can collectuser profile(s) 306, stored in a data store 304. The user profile(s) 306can comprise most any data related to the user, which can facilitatecustomizing goal identification, conflict identification, and/orsolution/action determination. For example, the user profile(s) 306 caninclude user preferences, historical data, user behavior, UE parameters,etc. The user profile(s) 306 can also include a list ofservices/applications, to which a user is subscribed. As an example, theBEX system 102 can receive the user profile data from the user and/orgenerate user profile data based on machine learning techniques.

For example, during communication, a first user can make plans with asecond user to watch a movie at a particular theatre. In this examplescenario, the goal identification component 308 can determine that thegoal of the user is to watch the specific movie at the specific theatre.Accordingly, based on an analysis of data collected by the dataaggregation component 302, the results component 108 can automaticallypurchase tickets for the movie, or provide an indication to one or moreof the users to authorize the purchase. Moreover, on receivingauthorization, the results component 108 can purchase the movie ticketsand provide confirmation to the one or more users. In another example,the conflict detection component 310, can identify a conflict withrespect to the user's goal, for example, determine that the movie at theparticular theatre is sold out, and/or determine, based on the user'slocation and real-time traffic data, that the user will not be able toreach the theatre in time for the movie, and/or determine that the userhas a previously scheduled appointment at the time, etc. On detecting aconflict, the conflict detection component 310, can determine a solutionto resolve the conflict, for example, identify another theatre that isplaying the movie, where tickets are available for purchase or which iscloser to the user's location, etc. The results component 108 canprovide the solution and/or any additional data that can facilitate theuser making an informed/educated decision to one or more of the usersvia UEs (202, 204) (or any another user devices). In one example, theresults component can utilize voice synthesis to generate a speechsignal indicative of the indication(s), solution(s), and/or additionalinformation, which can be played during the communication (e.g.,voice/video call). Moreover, BEX system 102 can add itself as anadditional participant in the communication and play the speech signal.Typically, the speech signal can be heard by all or some of the otherparticipants.

In yet another aspect, the analysis component 106 can utilize and/orpoll various services/applications subscribed by the user. Specifically,the analysis component 106 can facilitate goal or conflictidentification based on data provided by services or application thatthe user has subscribed to. For example, the analysis component 106 cancheck availability of the movie tickets via a “show times” applicationand determine directions and/or traffic conditions via a “maps”application. Further, in an example scenario, the analysis component 106can also determine that the movie is available via a “movie rental”application, to which the user is subscribed, and the results component108 can accordingly recommend that the user can watch the movie via the“movie rental” application. As an example, the results component 108 canadd the movie title into a DVD or online queue.

FIG. 4 illustrates an example system 400 that facilitates delivery ofresults or solutions to improve efficiency of user-desired tasks,according to an aspect of the subject innovation. Typically, the resultscomponent 108 can provide indications or solutions associated with atask desired to be performed by a user. In addition, the resultscomponent 108 can request authorization to perform a task and/orautomatically perform the tasks. Moreover, results component 108 anddata store 304 can include functionality, as more fully describedherein, for example, with regard to systems 100-300.

According to an aspect, the results component 108 can access userpreferences 402 and/or service provider preferences 404 to determinewhether a task/action can be automatically performed or whether userauthorization/confirmation is required. In one aspect, if userauthorization/confirmation is required, the results component 108 canprovide an indication to the user, for example, via UE 202. Theindication can be an audio, video, multimedia, text, and/or graphicaldata that requests authorization from a user. In one aspect, theindication can provide a set of solutions and request that the userselect one of the solutions to be performed. In one example, theindication can be provided as a voice message to one or moreparticipants, during a voice call. Moreover, the results component 108can interrupt a conversation between two or more participants, at anappropriate time, to provide suggestions, recommendations and/orsolutions to a user-desired task. As an example, the one or moreparticipants can send an authorization and/or further query the BEXsystem 102 on receiving the indication. The BEX system 102 (via theanalysis component 106), can re-evaluate user's goals and provide a newsolution (via the results component 108).

The results component 108 can perform various actions and/or tasks,and/or provide instructions and/or commands to one or more devices. Forexample, the results component 108 can transmit data to a disparate UE406 that can be associated with the user (or another user), via most anywired or wireless communication network. In another example, the resultscomponent 108 can deliver text messages (SMS, MMS, email, chat, etc.) tothe UE 406, for example, via one or more network servers 408.Additionally, the results components can also deliver data (e.g.,instructions to perform the action/task), to web servers or applicationservers, included within the network servers 408. Furthermore, theresults component 108 can deliver data (e.g., instructions to performthe action/task) to one or more user devices (410₁-410 ₂) that areconnected to a user's femto access point 412. The devices connected tothe femto access point 412 can include but are not limited to most anyUE (e.g., 410 ₂) and/or an LTE-based device 410 ₁, such as, anappliance, industrial equipment, etc. It can be appreciated that thesubject disclosure is not limited to the above noted examples and thatthe results component 108 can deliver data to and/or program most anydevice and/or application.

Referring now to FIG. 5, there illustrated is an example system 500 thatcan detect and/or accomplish user desired actions based in part on userinput data, according to an aspect of the subject innovation. Typically,the BEX system 102 can monitor various parameters associated with a userto identify user goals (e.g., with or without explicit user indication)and perform actions that facilitate optimally accomplishing the usergoals It can be appreciated that the BEX system 102, the monitoringcomponent 104, the analysis component 106, the results component 108,the public data 110, and the user data 112, the UE 202, the dataaggregation component 302, the data store 304, the user profiles 306,the goal identification component 308 and/or the conflict detectioncomponent 310, can include functionality, as more fully describedherein, for example, with regard to systems 100-400.

According to an aspect, the monitoring component 104 can monitor and/ortrack various parameters associated with one or more UEs of a user. Theparameters can include, but are not limited to, location data and/oruser input data. Moreover, user input data can include most any data,for example, selection, instruction, command, preference, etc. input orgenerated by a user on the one or more UEs (e.g., UE 202). Moreover, theanalysis component 106 can evaluate the monitored parameters,identify/infer a user goal (e.g., via goal identification component 308)and/or identify conflicts (if any) during accomplishment of the goal(e.g., via the conflict detection component 310), and the resultscomponent 108 can perform an action and/or deliver data, based on theevaluation.

The following non-limiting examples can describe various embodiments ofsystem 500. In one example, the monitoring component 104 can identifythat a user visits a specific salon for a hair cut appointment by thesame person every two months, based on parameters, such as, but notlimited to, location data, calendar data, schedules, credit card data,etc. associated with the user. Once the BEX system 102 has identifiedthe last time the user had a haircut, the analysis component 106 canexamine the user's schedule (e.g., via user data 112) around two month'sfrom that date, and the results component 108 can schedule anappointment for the user at the best possible time based on theirschedule, preferences, and/or available appointment times. Moreover, theresults component 108 can then alert the user of the addition to theirschedule, for example, via UE 202. In one aspect, the user can confirmthe changes to their schedule or can provide the BEX system 102 withadditional parameters to modify or reschedule the appointment.

In another example, the monitoring component 104 can detect a user entryin a memo or list on UE 202 (or accessible via UE 202). Typically, auser can generate or update a grocery list for a shopping trip.According to an aspect, the analysis component 106 can examine the itemson the grocery list and analyze item costs at local grocery stores alongwith coupons and/or deals on the items, estimate the value of the gasthat will be used to travel to each of the different grocery stores, andidentify a grocery store that offers the greatest overall savings.Moreover, the results component 108 can provide a notification to theuser, for example, via UE 202, indicative of the location and/ordirections to the grocery store. Additionally or optionally, the resultscomponent 108 can also send digital copies of the appropriate coupons tothe UE 202 or a disparate device selected by the user.

Further, in yet another example, the monitoring component 104 can track,in real-time, a user's location and/or motion/speed based on locationdata (e.g., Global Positioning System (GPS) data) received from UE 202.Based at least in part on the monitored location data, the user'sschedule, user profile(s) 306, and/or historical data, etc. the analysiscomponent can identify that the user will be out of his/her house for aspecific time period. Accordingly, the results component 108 canautomatically maximize the user's energy savings by communicating withthe user's utility company and/or controlling the smart appliances inthe user's house (e.g., via most any wired or wireless communicationnetwork). Furthermore, the analysis component 106 can determine anamount of time required to transition the house from its currenttemperature and/or humidity to the comfortable settings chosen by theuser. Moreover, the analysis component 106 can determine and/or predictthe user's time of arrival at the house based on the monitored location,traffic on the user's path home, the user's schedule, historical data,user preferences, etc., and identify the appropriate time to beginadjusting the temperature and humidity. The results component 108 candeliver the appropriate instructions to implement the temperature and/orhumidity adjustments.

Furthermore, in still another example, the monitoring component 104 canmonitor a user's location/motion/speed, last accessed maps/directions,flight schedules, credit card purchases, data from travel apps, etc.,and the analysis component 106 can determine that the user is drivingtowards the airport to board a specific flight. In one aspect, theconflict detection component 310 can access real time traffic, weather,and/or flight status data (e.g., via websites and/orapplications/services subscribed by the user) to identify any changesthat can be implemented by the user to more optimally reach the airportin time to board the flight. For example, the conflict detectioncomponent 310 can advise the user alternate routes to the airport, suchthat, the user can reach the airport in time for the flight, based onreal time traffic, flight delays or status, time for securityclearance/check-in, etc.

FIG. 6 illustrates an example system 600 that employs an artificialintelligence (AI) component 602, which facilitates automating one ormore features in accordance with the subject innovation. It can beappreciated that the BEX system 102, the monitoring component 104, theanalysis component 106, the results component 108, the data aggregationcomponent 302, and the data store 304, can include functionality, asmore fully described herein, for example, with regard to systems100-500.

The subject innovation (e.g., in connection with predicting usergoal(s), accomplishing goal(s), identifying and resolving conflicts,etc.) can employ various AI-based schemes for carrying out variousaspects thereof. For example, a process for identifying an action ortask desired to be performed by a user can be facilitated via anautomatic classifier system and process. Moreover, the classifier can beemployed to determine a user goal, an action or task to accomplish theuser goal, additional information, recommendations, suggestions, and/orsolutions associated with accomplishing the goal, conflicts associatedwith the goal, solutions to resolve the conflicts, etc.

A classifier is a function that maps an input attribute vector, x=(x1,x2, x3, x4, xn), to a confidence that the input belongs to a class, thatis, f(x)=confidence(class). Such classification can employ aprobabilistic and/or statistical-based analysis (e.g., factoring intothe analysis utilities and costs) to prognose or infer an action that auser desires to be automatically performed. In the case of communicationsystems, for example, attributes can be information (e.g., public data110, user data 112, user profiles 306, etc.) aggregated by the dataaggregation component 302 and the classes can be categories or areas ofinterest (e.g., levels of priorities, user preferences, etc.).

A support vector machine (SVM) is an example of a classifier that can beemployed. The SVM operates by finding a hypersurface in the space ofpossible inputs, which the hypersurface attempts to split the triggeringcriteria from the non-triggering events. Intuitively, this makes theclassification correct for testing data that is near, but not identicalto training data. Other directed and undirected model classificationapproaches include, e.g., naïve Bayes, Bayesian networks, decisiontrees, neural networks, fuzzy logic models, and probabilisticclassification models providing different patterns of independence canbe employed. Classification as used herein also is inclusive ofstatistical regression that is utilized to develop models of priority.

As will be readily appreciated from the subject specification, thesubject innovation can employ classifiers that are explicitly trained(e.g., via a generic training data) as well as implicitly trained (e.g.,via observing UE behavior, user interaction, UE location, userschedules, historical data, receiving extrinsic information, etc.). Forexample, SVM's are configured via a learning or training phase within aclassifier constructor and feature selection module. Thus, theclassifier(s) can be used to automatically learn and perform a number offunctions, including but not limited to determining according to apredetermined criteria an goal that a user is attempting to accomplish,a set of solutions to accomplish the goal, an optimal solution forefficiently accomplishing the goal, additional information, suggestions,and/or recommendations that enable the user to make an informed decisionassociated with efficiently/optimally accomplishing the goal, anaction/task that automatically accomplishes the goal, a conflictassociated with the goal, a solution associated with the conflict, anaction/task and/or addition information that facilitates conflictresolution, etc. The criteria can include, but is not limited to,historical patterns, UE behavior, user preferences, service providerpreferences and/or policies, user service/application subscriptions, UEdevice parameters, location/motion of the UE, day/date/time, etc.

FIGS. 7-9 illustrate methodologies and/or flow diagrams in accordancewith the disclosed subject matter. For simplicity of explanation, themethodologies are depicted and described as a series of acts. It is tobe understood and appreciated that the subject innovation is not limitedby the acts illustrated and/or by the order of acts, for example actscan occur in various orders and/or concurrently, and with other acts notpresented and described herein. Furthermore, not all illustrated actsmay be required to implement the methodologies in accordance with thedisclosed subject matter. In addition, those skilled in the art willunderstand and appreciate that the methodologies could alternatively berepresented as a series of interrelated states via a state diagram orevents. Additionally, it should be further appreciated that themethodologies disclosed hereinafter and throughout this specificationare capable of being stored on an article of manufacture to facilitatetransporting and transferring such methodologies to computers. The termarticle of manufacture, as used herein, is intended to encompass acomputer program accessible from any computer-readable device orcomputer-readable storage/communications media.

FIG. 7 illustrates an example methodology 700 for performing actionsthat facilitate accomplishment of a user goal, according to an aspect ofthe subject specification. Typically, at least portions of methodology700 can be implemented within a network (e.g., cloud), that includes oneor more resources communicatively and/or remotely coupled to a UE. At702, a user conversation can be monitored. As an example, the userconversation can include a communication between two or more UEs,including, but not limited to, a voice call, a video call, a textmessage thread, instant messenger chat, etc. Typically, the userconversation can be monitored in the background, for example, withminimal interference to a user and/or without the user actively orexplicitly having to switch on, open, start, and/or initiate amonitoring application.

At 702, a user goal can be identified based on an analysis of the user'sconversation(s), for example, based on natural language processing.Further, at 706 an action, to be performed for accomplishing theidentified user goal, can be determined, based on evaluation ofaggregated user and/or public data. The user and/or public data caninclude data relating to accomplishing the user goal that can bereceived from local and/or remote data sources. Typically,identification of the user goal and the action can be performed inreal-time by utilizing most any statistical, predictive and/or machinelearning models. At 708, it can be determined whether the user prefersthat the action be performed automatically, for example, based onpredefined user preferences. If determined that the user prefers thatthe action be performed automatically, at 710, the action can beperformed. As an example, the action can include providing additionalinformation, instructing/programming a device, scheduling anappointment, etc. Alternatively, if determined that the user does notprefer automatic action implementation, at 712, the user can be queriedto request an authorization to perform the action. As an example, theuser can also be provided with additional information (e.g., suggestionsor recommendations) indicative of alternative methods to accomplish theuser goal. In one aspect, the request and/or additional information canbe delivered as a speech signal during a voice call (to one or more ofthe participants). Moreover, at 714 it can de determined whetherauthorization is received. On receiving authorization, at 710, theaction can be performed, and accordingly the user goal can beaccomplished. Alternatively, if authorization is not received, at 716,it can be determined whether additional parameters are received. Theparameters can be received explicitly, for example, the user canactively submit a query during the conversation, or implicitly, based onfurther analysis of the conversation. If additional parameters are notreceived, the methodology 700 continues to monitor the conversation. Incontrast, if additional parameters are received, at 718, the userconversation and the additional parameters can be reanalyzed to identifya new goal, and the methodology 700 can proceed to determine an actionto accomplish the new goal at 706.

In one example, during a voice call, the user can mention, “Soundsgreat. Lets discus this at noon tomorrow in the conference room.”Accordingly, the methodology 700 can identify that the user's goal wouldbe to schedule a meeting at 12:00 pm on a specific date at a conferenceroom. Moreover, an action to add the meeting as an appointment in theuser's calendar and/or reserve the conference room at the scheduled timecan be determined. If the user preferences indicate that the action canbe performed automatically, the calendar can be updated and/orconference room can be reserved; else, the user can be prompted duringor after the voice call to authorize the action. For example, a message,such as, but not limited to “Would you like to update your calendar witha meeting”, “Would you like to reserve the conference room for yourmeeting?” etc., can be played to one or more participants of the voicecall. On receiving authorization, the actions can be performed. Further,the user can provide additional parameters, for example, “Can you addJohn Smith to this meeting?”, “which of the three conference rooms areavailable at 2 PM today?” etc. Based in part on the additionalparameters, a new user goal can be identified and the methodologyrepeated.

Referring now to FIG. 8, illustrated is an example methodology 800 thatprovides a background expert for automatically and dynamically inferringand/or accomplishing user goals, according to an aspect of the subjectdisclosure. Typically, methodology 800 can be implemented as anetwork-based (e.g., cloud-based) service. At 802, user parameters fromone or more user devices can be monitored. The user parameters caninclude, but are not limited to, user schedules, user preferences,location data, messaging data, social media data, historical data,purchase history, etc. At 804, data from public data sources and/oruser-subscribed services can be collected. As an example, the data caninclude publicly available data, such as, but not limited to, news,weather, traffic, product information, maps, etc. and/or data providedby a service or application subscribed by a user, for example,restaurant reservation services, movie rental services, bank accountmanagement services, medical records, etc. At 806, the user parametersand/or collected data can be analyzed (e.g., by employing an artificialintelligence technique), and at 808, an action that can maximizeefficient/optimal accomplishment of a user goal can be identified basedon the analysis. Typically, the methodology 800 can identify the best ormost optimal course of action, given the user goal and/or userparameters. Further, at 810, the action can be automatically performed.

For example, user parameters, such as, a user's prescriptioninformation, medical insurance data, and/or credit card purchasereceipts at a specific pharmacy can be monitored, in the background.Further, data from various sources, such as, medicine information,pharmacy sales or coupons, route or traffic to pharmacy location can becollected. Furthermore, if a user has subscribed to an applicationassociated with a pharmacy for prescription management, user specificdata (e.g., refill number, number of refills left, historical purchasedata, etc.) can be determined by utilizing the application (e.g., bydirectly accessing an application server). Based on a real-time (or nearreal-time) analysis of the user parameters and the collected data, itcan be identified that a user is likely to request for a prescriptionrefill in the next couple of days. Accordingly, a pharmacy closest tothe user's location, having a lowest price on the user's medicine can beidentified and/or a refill request for the prescription can be submittedto the identified pharmacy (e.g., automatically or after receivingauthorization from the user) and a confirmation can be delivered to theuser.

FIG. 9 illustrates an example methodology 900 that facilitates providingrecommendations to more efficiently accomplish one or more user tasks inaccordance with an aspect of the subject specification. At 902, userinput data and/or user actions can be monitored in the background. As anexample, the user input data can include user conversations,preferences, settings, etc. At 904, the monitored data can be analyzed,for example, with additional user related data received from variousdata sources. Typically, cloud-computing resources can be utilized toperform the analysis in real-time. At 906, it can be detected that auser is attempting to accomplish a task. For example, it can beidentified that the user is attempting to schedule a lunch meeting at 1PM with two other friends at a particular restaurant. At 908, one ormore solutions to more efficiently accomplish the task can beidentified. Continuing with the above example, it can be determined,based on the location and/or traffic data, that not all the guests arelikely to reach the particular restaurant at 1 PM. Accordingly,estimated arrival times for all the guests can be calculated andavailability for a lunch reservation at the new time can be verified. At910, a recommendation can be provided to the user to accomplish the taskvia the one or more solutions. In the above example, an indicationrecommending a new reservation time at the particular restaurant can beprovided. Additionally, reservations for 1 PM for different restaurants(e.g., with the similar cuisine, rating, and/or costs), to which all theguests can reach by 1 PM can also be recommended. Typically, the usercan select or confirm one or more of the solutions, which can beutilized to automatically or manually perform the task. In one aspect,the solutions can be provided and fine-tuned via a question and answertype communication with the user.

Now turning to FIG. 10, such figure depicts an example GSM/GPRS/IPmultimedia network architecture 1000 that can employ the disclosedcommunication architecture. In particular, the GSM/GPRS/IP multimedianetwork architecture 1000 includes a GSM core network 1001, a GPRSnetwork 1030 and an IP multimedia network 1038. The GSM core network1001 includes a Mobile Station (MS) 1002, at least one Base TransceiverStation (BTS) 1004 and a Base Station Controller (BSC) 1006. The MS 1002is physical equipment or Mobile Equipment (ME), such as a mobile phoneor a laptop computer that is used by mobile subscribers, with aSubscriber identity Module (SIM). The SIM includes an InternationalMobile Subscriber Identity (IMSI), which is a unique identifier of asubscriber. The MS 1002 includes an embedded client 1002 a that receivesand processes messages received by the MS 1002. The embedded client 1002a can be implemented in JAVA and is discuss more fully below. It can beappreciated that MS 1002 can be substantially similar to UE 202 andinclude functionality described with respect to UE 202 in systems200-500.

The embedded client 1002 a communicates with an application 1002 b(e.g., application(s) 202) that provides services and/or information toan end user. Additionally or alternately, the MS 1002 and a device 1002c can be enabled to communicate via a short-range wireless communicationlink, such as BLUETOOTH®. As one of ordinary skill in the art wouldrecognize, there can be an endless number of devices 1002 c that use theSIM within the MS 1002 to provide services, information, data, audio,video, etc. to end users.

The BTS 1004 is physical equipment, such as a radio tower, that enablesa radio interface to communicate with the MS 1002. Each BTS can servemore than one MS. The BSC 1006 manages radio resources, including theBTS. The BSC 1006 can be connected to several BTSs. The BSC and BTScomponents, in combination, are generally referred to as a base station(BSS) or radio access network (RAN) 1003.

The GSM core network 1001 also includes a Mobile Switching Center (MSC)1008, a Gateway Mobile Switching Center (GMSC) 1010, a Home LocationRegister (HLR) 1012, Visitor Location Register (VLR) 1014, anAuthentication Center (AuC) 1018, and an Equipment Identity Register(EIR) 1018. The MSC 1008 performs a switching function for the network.The MSC also performs other functions, such as registration,authentication, location updating, handovers, and call routing. The GMSC1010 provides a gateway between the GSM network and other networks, suchas an Integrated Services Digital Network (ISDN) or Public SwitchedTelephone Networks (PSTNs) 1020. In other words, the GMSC 1010 providesinterworking functionality with external networks.

The HLR 1012 is a database or component(s) that comprises administrativeinformation regarding each subscriber registered in a corresponding GSMnetwork. The HLR 1012 also includes the current location of each MS. TheVLR 1014 is a database or component(s) that contains selectedadministrative information from the HLR 1012. The VLR containsinformation necessary for call control and provision of subscribedservices for each MS currently located in a geographical area controlledby the VLR. The HLR 1012 and the VLR 1014, together with the MSC 1008,provide the call routing and roaming capabilities of GSM. In one aspect,the BEX system 102 can obtain user related data from the HLR 1012 and/orthe VLR 1014. The AuC 1016 provides the parameters needed forauthentication and encryption functions. Such parameters allowverification of a subscriber's identity. The EIR 1018 storessecurity-sensitive information about the mobile equipment.

A Short Message Service Center (SMSC) 1009 allows one-to-one ShortMessage Service (SMS) messages to be sent to/from the MS 1002. A PushProxy Gateway (PPG) 1011 is used to “push” (e.g., send without asynchronous request) content to the MS 1002. The PPG 1011 acts as aproxy between wired and wireless networks to facilitate pushing of datato the MS 1002. A Short Message Peer to Peer (SMPP) protocol router 1013is provided to convert SMS-based SMPP messages to cell broadcastmessages. SMPP is a protocol for exchanging SMS messages between SMSpeer entities such as short message service centers. It is often used toallow third parties, e.g., content suppliers such as news organizations,to submit bulk messages. Typically, the monitoring component 104 cantrack SMS messages sent to and/or from the MS 1002.

To gain access to GSM services, such as speech, data, and short messageservice (SMS), the MS first registers with the network to indicate itscurrent location by performing a location update and IMSI attachprocedure. The MS 1002 sends a location update including its currentlocation information to the MSC/VLR, via the BTS 1004 and the BSC 1006.The location information is then sent to the MS's HLR. The HLR isupdated with the location information received from the MSC/VLR. Thelocation update also is performed when the MS moves to a new locationarea. Typically, the location update is periodically performed to updatethe database as location-updating events OCCUR.

The GPRS network 1030 is logically implemented on the GSM core networkarchitecture by introducing two packet-switching network nodes, aserving GPRS support node (SGSN) 1032, a cell broadcast and a GatewayGPRS support node (GGSN) 1034. The SGSN 1032 is at the same hierarchicallevel as the MSC 1008 in the GSM network. The SGSN controls theconnection between the GPRS network and the MS 1002. The SGSN also keepstrack of individual MS's locations, security functions, and accesscontrols.

A Cell Broadcast Center (CBC) 1033 communicates cell broadcast messagesthat are typically delivered to multiple users in a specified area. CellBroadcast is one-to-many geographically focused service. It enablesmessages to be communicated to multiple mobile phone customers who arelocated within a given part of its network coverage area at the time themessage is broadcast.

The GGSN 1034 provides a gateway between the GPRS network and a publicpacket network (PDN) or other IP networks 1036. That is, the GGSNprovides interworking functionality with external networks, and sets upa logical link to the MS 1002 through the SGSN 1032. Whenpacket-switched data leaves the GPRS network, it is transferred to anexternal TCP-IP network 1036, such as an X.25 network or the Internet.In order to access GPRS services, the MS 1002 first attaches itself tothe GPRS network by performing an attach procedure. The MS 1002 thenactivates a packet data protocol (PDP) context, thus activating a packetcommunication session between the MS 1002, the SGSN 1032, and the GGSN1034. In a GSM/GPRS network, GPRS services and GSM services can be usedin parallel. A GPRS network 1030 can be designed to operate in threenetwork operation modes (NOM1, NOM2 and NOM3). A network operation modeof a GPRS network is indicated by a parameter in system informationmessages transmitted within a cell. The system information messagesdictates a MS where to listen for paging messages and how signal towardsthe network. The network operation mode represents the capabilities ofthe GPRS network.

The IP multimedia network 1038 was introduced with 3GPP Release 5, andincludes an IP multimedia subsystem (IMS) 1040 to provide richmultimedia services to end users. A representative set of the networkentities within the IMS 1040 are a call/session control function (CSCF),a media gateway control function (MGCF) 1046, a media gateway (MGW)1048, and a master subscriber database, called a home subscriber server(HSS) 1050. The HSS 1050 can be common to the GSM network 1001, the GPRSnetwork 1030 as well as the IP multimedia network 1038. The BEX system102 can also collect user related data from the HSS 1050 to facilitateanalysis (via the analysis component 106).

The IP multimedia system 1040 is built around the call/session controlfunction, of which there are three types: an interrogating CSCF (I-CSCF)1043, a proxy CSCF (P-CSCF) 1042, and a serving CSCF (S-CSCF) 1044. TheP-CSCF 1042 is the MS's first point of contact with the IMS 1040. TheP-CSCF 1042 forwards session initiation protocol (SIP) messages receivedfrom the MS to an SIP server in a home network (and vice versa) of theMS. The P-CSCF 1042 can also modify an outgoing request according to aset of rules defined by the network operator (for example, addressanalysis and potential modification).

The I-CSCF 1043 forms an entrance to a home network and hides the innertopology of the home network from other networks and providesflexibility for selecting an S-CSCF. The I-CSCF 1043 can contact asubscriber location function (SLF) 1045 to determine which HSS 1050 touse for the particular subscriber, if multiple HSS's 1050 are present.The S-CSCF 1044 performs the session control services for the MS 1002.This includes routing originating sessions to external networks androuting terminating sessions to visited networks. The S-CSCF 1044 alsodecides whether an application server (AS) 1052 is required to receiveinformation on an incoming SIP session request to ensure appropriateservice handling. This decision is based on information received fromthe HSS 1050 (or other sources, such as an application server 1052). TheAS 1052 also communicates to a location server 1056 (e.g., a GatewayMobile Location Center (GMLC)) that provides a position (e.g.,latitude/longitude coordinates) of the MS 1002. The MME 1058 providesauthentication of a user by interacting with the HSS 1050 in LTEnetworks.

The HSS 1050 contains a subscriber profile and keeps track of which corenetwork node is currently handling the subscriber. It also supportssubscriber authentication and authorization functions (AAA). In networkswith more than one HSS 1050, a subscriber location function providesinformation on the HSS 1050 that contains the profile of a givensubscriber.

The MGCF 1046 provides interworking functionality between SIP sessioncontrol signaling from the IMS 1040 and ISUP/BICC call control signalingfrom the external GSTN networks (not shown). It also controls the mediagateway (MGW) 1048 that provides user-plane interworking functionality(e.g., converting between AMR- and PCM-coded voice). The MGW 1048 alsocommunicates with a PSTN network 1054 for TDM trunks. In addition, theMGCF 1046 communicates with the PSTN network 1054 for SS7 links.According to an embodiment, the BEX system 102 can be implemented withinand/or communicatively coupled to the GSM network 1001, the GPRS network1030, the IP multimedia network 1038, and/or the IP networks 1036.

Referring now to FIG. 11, there is illustrated a block diagram of acomputer operable to execute the disclosed communication architecture.In order to provide additional context for various aspects of thesubject specification, FIG. 11 and the following discussion are intendedto provide a brief, general description of a suitable computingenvironment 1100 in which the various aspects of the specification canbe implemented. While the specification has been described above in thegeneral context of computer-executable instructions that can run on oneor more computers, those skilled in the art will recognize that thespecification also can be implemented in combination with other programmodules and/or as a combination of hardware and software.

Generally, program modules include routines, programs, components, datastructures, etc., that perform particular tasks or implement particularabstract data types. Moreover, those skilled in the art will appreciatethat the inventive methods can be practiced with other computer systemconfigurations, including single-processor or multiprocessor computersystems, minicomputers, mainframe computers, as well as personalcomputers, hand-held computing devices, microprocessor-based orprogrammable consumer electronics, and the like, each of which can beoperatively coupled to one or more associated devices.

The illustrated aspects of the specification can also be practiced indistributed computing environments where certain tasks are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed computing environment, program modules can belocated in both local and remote memory storage devices.

Computing devices typically include a variety of media, which caninclude computer-readable storage media and/or communications media,which two terms are used herein differently from one another as follows.Computer-readable storage media can be any available storage media thatcan be accessed by the computer and includes both volatile andnonvolatile media, removable and non-removable media. By way of example,and not limitation, computer-readable storage media can be implementedin connection with any method or technology for storage of informationsuch as computer-readable instructions, program modules, structureddata, or unstructured data. Computer-readable storage media can include,but are not limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disk (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or other tangible and/or non-transitorymedia which can be used to store desired information. Computer-readablestorage media can be accessed by one or more local or remote computingdevices, e.g., via access requests, queries or other data retrievalprotocols, for a variety of operations with respect to the informationstored by the medium.

Communications media typically embody computer-readable instructions,data structures, program modules or other structured or unstructureddata in a data signal such as a modulated data signal, e.g., a carrierwave or other transport mechanism, and includes any information deliveryor transport media. The term “modulated data signal” or signals refersto a signal that has one or more of its characteristics set or changedin such a manner as to encode information in one or more signals. By wayof example, and not limitation, communication media include wired media,such as a wired network or direct-wired connection, and wireless mediasuch as acoustic, RF, infrared and other wireless media.

With reference again to FIG. 11, the example environment 1100 forimplementing various aspects of the specification includes a computer1102, the computer 1102 including a processing unit 1104, a systemmemory 1106 and a system bus 1108. The system bus 1108 couples systemcomponents including, but not limited to, the system memory 1106 to theprocessing unit 1104. The processing unit 1104 can be any of variouscommercially available processors. Dual microprocessors and othermulti-processor architectures can also be employed as the processingunit 1104.

The system bus 1108 can be any of several types of bus structure thatcan further interconnect to a memory bus (with or without a memorycontroller), a peripheral bus, and a local bus using any of a variety ofcommercially available bus architectures. The system memory 1106includes read-only memory (ROM) 1110 and random access memory (RAM)1112. A basic input/output system (BIOS) is stored in a non-volatilememory 1110 such as ROM, EPROM, EEPROM, which BIOS contains the basicroutines that help to transfer information between elements within thecomputer 1102, such as during startup. The RAM 1112 can also include ahigh-speed RAM such as static RAM for caching data.

The computer 1102 further includes an internal hard disk drive (HDD)1114 (e.g., EIDE, SATA), which internal hard disk drive 1114 can also beconfigured for external use in a suitable chassis (not shown), amagnetic floppy disk drive (FDD) 1116, (e.g., to read from or write to aremovable diskette 1118) and an optical disk drive 1120, (e.g., readinga CD-ROM disk 1122 or, to read from or write to other high capacityoptical media such as the DVD). The hard disk drive 1114, magnetic diskdrive 1116 and optical disk drive 1120 can be connected to the systembus 1108 by a hard disk drive interface 1124, a magnetic disk driveinterface 1126 and an optical drive interface 1128, respectively. Theinterface 1124 for external drive implementations includes at least oneor both of Universal Serial Bus (USB) and IEEE 1394 interfacetechnologies. Other external drive connection technologies are withincontemplation of the subject specification.

The drives and their associated computer-readable storage media providenonvolatile storage of data, data structures, computer-executableinstructions, and so forth. For the computer 1102, the drives andstorage media accommodate the storage of any data in a suitable digitalformat. Although the description of computer-readable storage mediaabove refers to a HDD, a removable magnetic diskette, and a removableoptical media such as a CD or DVD, it should be appreciated by thoseskilled in the art that other types of storage media which are readableby a computer, such as zip drives, magnetic cassettes, flash memorycards, cartridges, and the like, can also be used in the exampleoperating environment, and further, that any such storage media cancontain computer-executable instructions for performing the methods ofthe specification.

A number of program modules can be stored in the drives and RAM 1112,including an operating system 1130, one or more application programs1132, other program modules 1134 and program data 1136. All or portionsof the operating system, applications, modules, and/or data can also becached in the RAM 1112. It is appreciated that the specification can beimplemented with various commercially available operating systems orcombinations of operating systems.

A user can enter commands and information into the computer 1102 throughone or more wired/wireless input devices, e.g., a keyboard 1138 and apointing device, such as a mouse 1140. Other input devices (not shown)can include a microphone, an IR remote control, a joystick, a game pad,a stylus pen, touch screen, or the like. These and other input devicesare often connected to the processing unit 1104 through an input deviceinterface 1142 that is coupled to the system bus 1108, but can beconnected by other interfaces, such as a parallel port, an IEEE 1394serial port, a game port, a USB port, an IR interface, etc.

A monitor 1144 or other type of display device is also connected to thesystem bus 1108 via an interface, such as a video adapter 1146. Inaddition to the monitor 1144, a computer typically includes otherperipheral output devices (not shown), such as speakers, printers, etc.

The computer 1102 can operate in a networked environment using logicalconnections via wired and/or wireless communications to one or moreremote computers, such as a remote computer(s) 1148. The remotecomputer(s) 1148 can be a workstation, a server computer, a router, apersonal computer, portable computer, microprocessor-based entertainmentappliance, a peer device or other common network node, and typicallyincludes many or all of the elements described relative to the computer1102, although, for purposes of brevity, only a memory/storage device1150 is illustrated. The logical connections depicted includewired/wireless connectivity to a local area network (LAN) 1152 and/orlarger networks, e.g., a wide area network (WAN) 1154. Such LAN and WANnetworking environments are commonplace in offices and companies, andfacilitate enterprise-wide computer networks, such as intranets, all ofwhich can connect to a global communications network, e.g., theInternet.

When used in a LAN networking environment, the computer 1102 isconnected to the local network 1152 through a wired and/or wirelesscommunication network interface or adapter 1156. The adapter 1156 canfacilitate wired or wireless communication to the LAN 1152, which canalso include a wireless access point disposed thereon for communicatingwith the wireless adapter 1156.

When used in a WAN networking environment, the computer 1102 can includea modem 1158, or is connected to a communications server on the WAN1154, or has other means for establishing communications over the WAN1154, such as by way of the Internet. The modem 1158, which can beinternal or external and a wired or wireless device, is connected to thesystem bus 1108 via the serial port interface 1142. In a networkedenvironment, program modules depicted relative to the computer 1102, orportions thereof, can be stored in the remote memory/storage device1150. It will be appreciated that the network connections shown areexample and other means of establishing a communications link betweenthe computers can be used.

The computer 1102 is operable to communicate with any wireless devicesor entities operatively disposed in wireless communication, e.g., aprinter, scanner, desktop and/or portable computer, portable dataassistant, communications satellite, any piece of equipment or locationassociated with a wirelessly detectable tag (e.g., a kiosk, news stand,restroom), and telephone. This includes at least Wi-Fi and Bluetooth™wireless technologies. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices.

Wi-Fi, or Wireless Fidelity, allows connection to the Internet from acouch at home, a bed in a hotel room, or a conference room at work,without wires. Wi-Fi is a wireless technology similar to that used in acell phone that enables such devices, e.g., computers, to send andreceive data indoors and out; anywhere within the range of a basestation. Wi-Fi networks use radio technologies called IEEE 802.11(a, b,g, etc.) to provide secure, reliable, fast wireless connectivity. AWi-Fi network can be used to connect computers to each other, to theInternet, and to wired networks (which use IEEE 802.3 or Ethernet).Wi-Fi networks operate in the unlicensed 2.4 and 5 GHz radio bands, atan 11 Mbps (802.11a) or 54 Mbps (802.11b) data rate, for example, orwith products that contain both bands (dual band), so the networks canprovide real-world performance similar to the basic 10BaseT wiredEthernet networks used in many offices.

As it employed in the subject specification, the term “processor” canrefer to substantially any computing processing unit or devicecomprising, but not limited to comprising, single-core processors;single-processors with software multithread execution capability;multi-core processors; multi-core processors with software multithreadexecution capability; multi-core processors with hardware multithreadtechnology; parallel platforms; and parallel platforms with distributedshared memory. Additionally, a processor can refer to an integratedcircuit, an application specific integrated circuit (ASIC), a digitalsignal processor (DSP), a field programmable gate array (FPGA), aprogrammable logic controller (PLC), a complex programmable logic device(CPLD), a discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. Processors can exploit nano-scale architectures suchas, but not limited to, molecular and quantum-dot based transistors,switches and gates, in order to optimize space usage or enhanceperformance of user equipment. A processor may also be implemented as acombination of computing processing units.

In the subject specification, terms such as “data store,” data storage,”“database,” “cache,” and substantially any other information storagecomponent relevant to operation and functionality of a component, referto “memory components,” or entities embodied in a “memory” or componentscomprising the memory. It will be appreciated that the memorycomponents, or computer-readable storage media, described herein can beeither volatile memory or nonvolatile memory, or can include bothvolatile and nonvolatile memory. By way of illustration, and notlimitation, nonvolatile memory can include read only memory (ROM),programmable ROM (PROM), electrically programmable ROM (EPROM),electrically erasable ROM (EEPROM), or flash memory. Volatile memory caninclude random access memory (RAM), which acts as external cache memory.By way of illustration and not limitation, RAM is available in manyforms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronousDRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM(ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).Additionally, the disclosed memory components of systems or methodsherein are intended to comprise, without being limited to comprising,these and any other suitable types of memory.

What has been described above includes examples of the presentspecification. It is, of course, not possible to describe everyconceivable combination of components or methodologies for purposes ofdescribing the present specification, but one of ordinary skill in theart may recognize that many further combinations and permutations of thepresent specification are possible. Accordingly, the presentspecification is intended to embrace all such alterations, modificationsand variations that fall within the spirit and scope of the appendedclaims. Furthermore, to the extent that the term “includes” is used ineither the detailed description or the claims, such term is intended tobe inclusive in a manner similar to the term “comprising” as“comprising” is interpreted when employed as a transitional word in aclaim.

What is claimed is:
 1. A system, comprising: a monitoring componentconfigured to observe, in a background, conversation data includedwithin a communication between a set of user equipments; and an analysiscomponent configured to dynamically infer a goal with respect to the setof user equipments based on an analysis of the conversation data, theanalysis component further configured to determine a set of solutions toaccomplish the goal.
 2. The system of claim 1, further comprising, aresults component configured to perform an action to implement a subsetof the set of solutions.
 3. The system of claim 2, wherein the resultscomponent is further configured to deliver a recommendation indicativeof the set of solutions to a subset of the set of user equipments, torequest authorization to implement the subset of the set of solutions.4. The system of claim 3, wherein the results component is furtherconfigured to deliver the recommendation in a voice message playedduring a voice call between participants of the communication.
 5. Thesystem of claim 2, wherein the subset of the set of solutions isselected via a subset of the set of user equipments.
 6. The system ofclaim 1, wherein the conversation data includes speech data communicatedvia a subset of the set of user equipments during a voice call.
 7. Thesystem of claim 6, further comprising, a speech recognition componentconfigured to convert the speech data to text.
 8. The system of claim 7,wherein the analysis component is further configured to evaluate thetext based on a natural language processing technique, to facilitatedetermination of the goal.
 9. The system of claim 1, further comprising,a data aggregation component configured to receive data from auser-subscribed application, wherein the analysis component is furthercomprised to utilize the data to determine the set of solutions.
 10. Thesystem of claim 1, wherein at least a portion of the analysis componentis implemented within a network.
 11. A method, comprising: analyzing, inreal-time, a conversation of a user that is monitored, in a background,during a communication between two user equipments; inferring a goal asa function of the analyzing; and determining an action that is to beperformed for accomplishing the goal.
 12. The method of claim 11,further comprising, performing the action in response to receivingauthorization from a device of the user.
 13. The method of claim 11,further comprising, collecting publicly available data relating to thegoal, to facilitate the determining.
 14. The method of claim 11, furthercomprising, collecting user preference data relating to the goal, tofacilitate the determining.
 15. The method of claim 11, furthercomprising, employing services subscribed by the user, associated withone of the two user equipments, to facilitate the determining.
 16. Themethod of claim 11, further comprising, presenting information relatingto the goal, to one of the two user equipments, to facilitateaccomplishing the goal.
 17. The method of claim 16, further comprising:receiving data from the one of the two user equipments in response tothe presenting; and repeating the identifying and the determining, basedin part on the receiving.
 18. A computer readable storage mediumcomprising computer-executable instructions that, in response toexecution, cause a system to perform operations comprising: Monitoring,in a background, conversation data exchanged between a set of userequipments during a communication; identifying a goal based on areal-time analysis of the conversation data; and detecting a task thatis to be performed, to accomplish the goal.
 19. The computer readablestorage medium of claim 18, wherein the operations further comprise,providing a notification, indicative of the task, to a subset of the setof user equipments during the communication.
 20. The computer readablestorage medium of claim 19, wherein the operations further comprise:receiving authorization from the subset of the set of user equipments toperform the task; and performing the task in response to the receiving.